home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / misc / libx11inc.lha / X11 / Xm / SeparatoGP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-13  |  3.6 KB  |  131 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
  3.  * ALL RIGHTS RESERVED
  4. */ 
  5. /*   $RCSfile: SeparatoGP.h,v $ $Revision: 1.22 $ $Date: 92/07/06 14:50:45 $ */
  6. /*
  7. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  8. #ifndef _XmSeparatorGadgetP_h
  9. #define _XmSeparatorGadgetP_h
  10.  
  11. #include <Xm/SeparatoG.h>
  12. #include <Xm/GadgetP.h>
  13. #include <Xm/ExtObjectP.h>
  14.  
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18.  
  19. /*****************************************************************/
  20. /* The Separator Gadget Cache Object's class and instance records*/
  21. /*****************************************************************/
  22.  
  23. typedef struct _XmSeparatorGCacheObjClassPart
  24. {
  25.     int foo;
  26. } XmSeparatorGCacheObjClassPart;
  27.  
  28.  
  29. typedef struct _XmSeparatorGCacheObjClassRec  /* separator cache class record */
  30. {
  31.     ObjectClassPart                     object_class;
  32.     XmExtClassPart                      ext_class;
  33.     XmSeparatorGCacheObjClassPart       separator_class_cache;
  34. } XmSeparatorGCacheObjClassRec;
  35.  
  36. externalref XmSeparatorGCacheObjClassRec xmSeparatorGCacheObjClassRec;
  37.  
  38.  
  39. /*  The Separator Gadget Cache instance record  */
  40.  
  41. typedef struct _XmSeparatorGCacheObjPart
  42. {
  43.    Dimension      margin;
  44.    unsigned char  orientation;
  45.    unsigned char  separator_type;
  46.    GC             separator_GC;
  47. } XmSeparatorGCacheObjPart;
  48.  
  49. typedef struct _XmSeparatorGCacheObjRec
  50. {
  51.   ObjectPart                object;
  52.   XmExtPart            ext;
  53.   XmSeparatorGCacheObjPart  separator_cache;
  54. } XmSeparatorGCacheObjRec;
  55.  
  56.  
  57. /*****************************************************/
  58. /*  The Separator Widget Class and instance records  */
  59. /*****************************************************/
  60.  
  61. typedef struct _XmSeparatorGadgetClassPart
  62. {
  63.    XtPointer               extension;
  64. } XmSeparatorGadgetClassPart;
  65.  
  66.  
  67. /*  Full class record declaration for Separator class  */
  68.  
  69. typedef struct _XmSeparatorGadgetClassRec
  70. {
  71.    RectObjClassPart            rect_class;
  72.    XmGadgetClassPart           gadget_class;
  73.    XmSeparatorGadgetClassPart  separator_class;
  74. } XmSeparatorGadgetClassRec;
  75.  
  76. externalref XmSeparatorGadgetClassRec xmSeparatorGadgetClassRec;
  77.  
  78. typedef struct _XmSeparatorGadgetPart
  79. {
  80.   XmSeparatorGCacheObjPart  *cache;
  81. } XmSeparatorGadgetPart;
  82.  
  83. /*  Full instance record declaration  */
  84.  
  85. typedef struct _XmSeparatorGadgetRec
  86. {
  87.    ObjectPart             object;
  88.    RectObjPart            rectangle;
  89.    XmGadgetPart           gadget;
  90.    XmSeparatorGadgetPart  separator;
  91. } XmSeparatorGadgetRec;
  92.  
  93. /* MACROS for accessing instance fields*/
  94. #define SEPG_Margin(w)            (((XmSeparatorGadget)(w))->   \
  95.                        separator.cache->margin)
  96. #define SEPG_Orientation(w)        (((XmSeparatorGadget)(w))->   \
  97.                        separator.cache->orientation)
  98. #define SEPG_SeparatorType(w)        (((XmSeparatorGadget)(w))->   \
  99.                        separator.cache->separator_type)
  100. #define SEPG_SeparatorGC(w)        (((XmSeparatorGadget)(w))->   \
  101.                        separator.cache->separator_GC)
  102.  
  103. /* Convenience Macros */
  104. #define SEPG_Cache(w)                    (((XmSeparatorGadget)(w))->\
  105.                        separator.cache)
  106. #define SEPG_ClassCachePart(w) \
  107.         (((XmSeparatorGadgetClass)xmSeparatorGadgetClass)->gadget_class.cache_part)
  108.  
  109.  
  110. /********    Private Function Declarations    ********/
  111. #ifdef _NO_PROTO
  112.  
  113. extern int _XmSeparatorCacheCompare() ;
  114.  
  115. #else
  116.  
  117. extern int _XmSeparatorCacheCompare( 
  118.                         XtPointer A,
  119.                         XtPointer B) ;
  120.  
  121. #endif /* _NO_PROTO */
  122. /********    End Private Function Declarations    ********/
  123.  
  124.  
  125. #ifdef __cplusplus
  126. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  127. #endif
  128.  
  129. #endif /* _XmSeparatorGadgetP_h */
  130. /* DON'T ADD STUFF AFTER THIS #endif */
  131.